// Translate.h: interface for the Translate class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TRANSLATE_H__CCB0BD24_8E4B_11D1_93EA_006097737B41__INCLUDED_)
#define AFX_TRANSLATE_H__CCB0BD24_8E4B_11D1_93EA_006097737B41__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#include "Position.h"
#include "Atom.h"

class Translate  
{
public:
	void Initialise(Position &I0, Position &I1, Position &I2,
			  Position *P0, Position *P1, Position *P2,
			  double   *VX, double *VY,   double *VZ,
			  Pack	   *DX, Pack   *DY,   Pack   *DZ);

	//Translate(Position &I0, Position &I1, Position &I2,
	//		  Position *P0, Position *P1, Position *P2,
	//		  double   *VX, double *VY,   double *VZ,
	//		  Pack	   *DX, Pack   *DY,   Pack   *DZ);

	virtual ~Translate();

	void Build();


private:
	Position    Translation;
	Position	Initial[3],  Basis[3], *AtomPosition[3];
	double		*Input[3];
	Pack		*Derivative[3];

};

#endif // !defined(AFX_TRANSLATE_H__CCB0BD24_8E4B_11D1_93EA_006097737B41__INCLUDED_)
